package com.project.server.domain.broadroom;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.project.common.annotation.Excel;
import com.project.common.core.domain.BaseEntity;
import com.project.server.domain.companies.TCompany;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 会议室信息对象 t_broadroom
 *
 * @author project
 * @date 2021-06-22
 */
public class TBroadroom extends BaseEntity {


    private static final long serialVersionUID = 6576483900927667492L;

    /**
     * 会议室编号
     */
    private Long broadroomId;

    /**
     * 会议室名称
     */
    @Excel(name = "会议室名称")
    private String broadroomName;

    /**
     * 会议室地点
     */
    @Excel(name = "会议室地点")
    private String broadroomAddress;

    /**
     * 会议室人数
     */
    @Excel(name = "会议室人数")
    private Long broadroomNum;

    /**
     * 会议室开放状态 （0代表可用 1代表暂停开放）
     */
    @Excel(name = "会议室开放状态 ", readConverterExp = "0=对外开放,1=暂停开放")
    private String broadroomStatus;

    /**
     * 预约开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date bookStart;

    /**
     * 预约结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date bookEnd;


    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 企业组
     */
    private Long[] compIds;

    /**
     * 企业对象
     */
    private TCompany company;

    public void setBroadroomId(Long broadroomId) {
        this.broadroomId = broadroomId;
    }

    public Long getBroadroomId() {
        return broadroomId;
    }

    public void setBroadroomName(String broadroomName) {
        this.broadroomName = broadroomName;
    }

    public String getBroadroomName() {
        return broadroomName;
    }

    public void setBroadroomAddress(String broadroomAddress) {
        this.broadroomAddress = broadroomAddress;
    }

    public String getBroadroomAddress() {
        return broadroomAddress;
    }

    public void setBroadroomNum(Long broadroomNum) {
        this.broadroomNum = broadroomNum;
    }

    public Long getBroadroomNum() {
        return broadroomNum;
    }

    public void setBroadroomStatus(String broadroomStatus) {
        this.broadroomStatus = broadroomStatus;
    }

    public String getBroadroomStatus() {
        return broadroomStatus;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public Date getBookStart() {
        return bookStart;
    }

    public void setBookStart(Date bookStart) {
        this.bookStart = bookStart;
    }

    public Date getBookEnd() {
        return bookEnd;
    }

    public void setBookEnd(Date bookEnd) {
        this.bookEnd = bookEnd;
    }

    public TCompany getCompany() {
        return company;
    }

    public void setCompany(TCompany company) {
        this.company = company;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("broadroomId", getBroadroomId())
                .append("broadroomName", getBroadroomName())
                .append("broadroomAddress", getBroadroomAddress())
                .append("broadroomNum", getBroadroomNum())
                .append("broadroomStatus", getBroadroomStatus())
                .append("bookStart", getBookStart())
                .append("bookEnd", getBookEnd())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("company", getCompany())
                .toString();
    }
}
